#ifndef __ANIMATION_CTR_H__
#define __ANIMATION_CTR_H__

#include <vector>
#include "Animable.h"


/**
	History : hyt - 09/09/30 修改animationCenter , 新增_frames , _speed , _status , _section參數
	                         _frames 為使用者定義的frame個數
							 _speed  為使用者定義的播放速度
							 _status 為使用者決定animation功能是否被開啟
							 _section為使用者決定重播breakPoint x到breakPoint y的動畫,
							         希望能在下一個mildstone完成
				  - 09/10/05 將KeyFrameObject與AnimableObject 分開來處理
				  - 09/10/07 新增disableAnimation method , 先將_status設定為false
				             然後呼叫KeyFrameObject的finalupdate()將最新的值寫回WOP_Proxy
				  - 09/11/06 將HistoryRecord 合併到animationCenter
				  - 09/11/08 Refactoring
				  - 09/12/14 將interpolation部分抽離

**/


class animationCenter{
	animationCenter();
	static animationCenter*	_aCtr;
	std::vector<Animable *> _anis;
	float _avgFrameTime;
public:
	static animationCenter* getInstance();
	void addAnimation(Animable *);	
	void animate(float);	
};

#endif